/** 
 * File:   CaseMotsCroises.hpp
 * Author: CHABOT DIEP MYCEK
 *
 */

#ifndef _CASEMOTSCROISES_HPP
#define	_CASEMOTSCROISES_HPP

/**
\class CaseMotsCroises
\brief Gestion de la classe CaseMotsCroises

Attributs
- multiplicite : un entier
- contenu : un caractere ASCII
*/
class CaseMotsCroises{
private :
    int multiplicite;
    char contenu;

public :
    /**
     *\fn void setContenu()
     *\brief permet de modifier le contenu de la case.
     *\param contenu un caractere ASCII
     *\return void
     */
    void setContenu(char contenu);

    /**
     *\fn void getContenu()
     *\brief retourne le contenu de la case.
     *\return un caractere
     */
    char getContenu();

    /**
     *\fn void setMultiplicite()
     *\brief permet de modifier la multiplicite de la case (i.e. le nombre de mots dans lesquels la case intervient).
     *\param mult un entier
     *\return void
     */
    void setMultiplicite(int mult);

    /**
     *\fn void getMultiplicite()
     *\brief retourne la multiplicite de la case (i.e. le nombre de mots dans lesquels la case intervient).
     *\return un entier
     */
    int getMultiplicite();

    /**
     *\fn bool estVide()
     *\brief retourne VRAI si la case est vide, et FAUX sinon.
     */
    bool estVide();

    /**
     *\fn void effacerCase()
     *\brief permet d'effacer le contenu de la case.
     */
    void effacerCase();
    
    /**
     *\fn bool estNoire()
     *\brief retourne VRAI si la case est noire, et FAUX sinon.
     */
    bool estNoire();
    
    /**
    \fn void augmenterMultiplicite()
    \brief augmente la multiplicite de la case de 1
    \return void
    */
    void augmenterMultiplicite();
    
    /**
    \fn void decrementerMultiplicite()
    \brief diminue la multiplicite de la case de 1
    \return void
    */
    void decrementerMultiplicite();
};

#endif	/* _CASEMOTSCROISES_HPP */

